﻿// Copyright (c) 2012 Mokah Nnamezie & Andrew Cooper
// Neo4Net graph database - http://neo4net.codeplex.com
//
// This file is part of Neo4Net - a .Net port of the Neo4j graph database
//
// Neo4Net is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, either version 3 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program.  If not, see <http://www.gnu.org/licenses/>.

namespace Neo4Net.Kernel
{
    using Neo4Net.GraphDb.Factory;

    public abstract partial class AbstractGraphDatabase
    {
        public class Configuration
        {
            public static readonly GraphDatabaseSetting.BooleanSetting DumpConfiguration = GraphDatabaseSettings.DumpConfiguration;
            public static readonly GraphDatabaseSetting.BooleanSetting ReadOnly = GraphDatabaseSettings.ReadOnly;
            public static readonly GraphDatabaseSetting.BooleanSetting UseMemoryMappedBuffers = GraphDatabaseSettings.UseMemoryMappedBuffers;
            public static readonly GraphDatabaseSetting.BooleanSetting ExecutionGuardEnabled = GraphDatabaseSettings.ExecutionGuardEnabled;
            public static readonly GraphDatabaseSettings.CacheTypeSetting CacheType = GraphDatabaseSettings.CacheType;
            public static readonly GraphDatabaseSetting.BooleanSetting LoadKernelExtensions = GraphDatabaseSettings.LoadKernelExtensions;
            public static readonly GraphDatabaseSetting.BooleanSetting Ephemeral = new GraphDatabaseSetting.BooleanSetting("ephemeral");

            public static readonly GraphDatabaseSetting.StringSetting StoreDir = new GraphDatabaseSetting.StringSetting("store_dir", ".*", "TODO");
            public static readonly GraphDatabaseSetting.StringSetting NeoStore = new GraphDatabaseSetting.StringSetting("neo_store", ".*", "TODO");
            public static readonly GraphDatabaseSetting.StringSetting LogicalLog = new GraphDatabaseSetting.StringSetting("logical_log", ".*", "TODO");
        }
    }
}
